#include <stdio.h>
#include <stdlib.h>

typedef struct _cell* cell_pointer;

typedef struct {
  int id;
  char* description;
  int priority;
} task;

typedef struct _cell {
  task tarefa;
  cell_pointer up;
  cell_pointer down;
} cell;

typedef struct {
  cell_pointer bottom;
  cell_pointer top;
} stack;


void init_stack(stack **my_stack);

void add_task(stack **my_stack, task new_task);

void pop_task(stack** my_stack);

void print_stack(const stack my_stack);

void destroy_stack(stack **my_stack);